python基础(3)--列表、元组、字符串、集合与字典

列表(list)

特点:

  • 1、访问方式:和字符串一样,list可以被索引和切片,可以用下标索引
  • 2、“+”: List可以使用+操作符进行拼接。
  • 3、“*”: list * a(整数), 表示list重复a次并拼接
  • 4、可变数据结构:List中的元素是可以改变的。比如 list1[1] = 2

翻转字符串:

if __name__ == "__main__":
    inputwords = input().split(" ")
    # 翻转字符串
    # 假设列表 list = [1,2,3,4],
    # list[0]=1, list[1]=2 ,而 -1 表示最后一个元素 list[-1]=4 ( 与 list[3]=4 一样)
    # inputWords[-1::-1] 有三个参数
    # 第一个参数 -1 表示最后一个元素
    # 第二个参数为空,表示移动到列表末尾
    # 第三个参数为步长,-1 表示逆向
    inputwords = inputwords[-1::-1]
    print(inputwords)
    # 重新组合字符串
    output = ' '.join(inputwords)
    print(output)

输入:

1 2 3 4 5

输出:

['5', '4', '3', '2', '1']
5 4 3 2 1

元组

元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。

特点:

  • 1,2,3特点与列表相同
  • 4. 不可变的数据结构:不可以用a[1] = 1的方式改变元组中的元素,不可以使用append()增加元素
  • 5. 构造1或0个元素的元组:a = (1, ); a = ()
  • 6. tuple中的元素:虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。
a = (1,2,[[3,4,"ab"],5,6])
print(a)
a[2][0] = [1,2]
print(a)

输出:

(1, 2, [[3, 4, 'ab'], 5, 6])
(1, 2, [[1, 2], 5, 6])

序列:str、list、tuple都是序列,特点是可以重复,有顺序,可以用下标访问。总结这三种数据结构的共同语法:

  • 1. 可以切片,可以用下标索引
  • 2. 可以用+、*,不可以用-(减号)
  • 3. 判断元素是否在序列中in、not in
  • 4. 序列中元素个数:len()
  • 5. 判断序列中的最大、最小元素max()、min()
  • 6. 判断字符的ascii码,如ord('w')

集合(set)

集合(set)基本功能是进行成员关系测试和删除重复元素。集合中的对象是无序的、不重复。

特点:

  • 1. 同序列特点3和4
  • 2. 不可以+、*,可以用-求差集, &求交集,| 求并集,^求两个集合中不同时存在的元素
  • 3. 定义空集为set(), 不可以用{}
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
 
print(student)   # 输出集合,重复的元素被自动去掉

字典(dictionary)

列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。

特点如下:

  • 是一种集合,有许多key和value,每一对都不重复
  • 使用key来获取value,如 a[key1]
  • 键(key)必须使用不可变类型, 如int, str, tuple,且字典的关键字不能重复。
  • value可用的类型有:str、int、tuple、float、list、set、dict
  • 空字典{}

字典中的内置函数有:clear()、keys()、values()

直接从键值对序列中构建字典的三种方法

>>> dict1 = dict([(1, "abc"),(2,"123"),("def",2)])
>>> print(dict1)
{1: 'abc', 2: '123', 'def': 2}
>>> dict2 = {x: x **2 for x in [1,2,3]}
>>> dict2
{1: 1, 2: 4, 3: 9}
>>> dict3 = dict(a = 1, b = 2, c = 3)   # 这里的a,b,c不可以带引号或者换成其他数据类型,否则提示:keyword can't be an expression
>>> dict3 
{
'a': 1, 'b': 2, 'c': 3}

常见的python数据类型转换(详见链接)

dict(d): 创建一个字典。d 必须是一个 (key, value)元组序列

tuple(s): 将序列 s 转换为一个元组

list(s): 将序列 s 转换为一个列表

chr(x): 将一个整数转换为一个字符

参考链接:https://www.runoob.com/python3/python3-number.html

猜你喜欢

转载自www.cnblogs.com/liliwang/p/12676080.html