python元组创建_Python基础8 元组的创建

1 #数据结构

2

3 #元组

4 #元组是一种不可变的序列,一旦创建就不能修改了

5

6 #创建元组

7

8 a = (5,4,1,8,8);9 print(a);10 #这样我们就创建了一个元组

11

12 b=([1,2,3,4]);13 print(b);14 #这样也可以,但是输出的结果变成了[1,2,3,4]

15 #[]是列表

16 #那这里是不是就是把这个列表当成了一个元素呢?

17

18 c=([1,2,3,4],[5,6,7,8]);19 print(b[1]);20 print(c);21 print(c[0]);22 #通过上面的测试

23 #我们发现了,这里是把列表当成了元组里面的一个元素

24 #但是,如果这里只有一个列表作为元素,你会发现你依然可以用b[]来调用里面的数据

25 #这表示当只有一个时,可以直接用b[]来索引

26

27 #其实仔细想会发现,这样的结构有点像C中间的二维数组

28 #是这样的吗?

29 #我们来测试一下

30 i=1;31 j=2;32 print("第{0}层,第{1}个,对应数据为{2}".format(i,j,c[i][j]));33 #完全一致,这里我们显然可以把他当作二维数组来加深理解

34

35 #而我们一开始学Python的时候就有提到过

36 #Python时动态的

37 #而不论是List还是Tuple都是可以存储不同类型的数据的

38

39 d=("说人话",5,4,1,8,8,7+6j);40 print(d);41 #这里我们建立了一个有不同类型数据的元组

42 #依然可以正常使用

43 #但是元组真的就和二维数组没别的区别吗?

44 #比如这样子输入

45 #print(d[2][1]);

46 #就一定会报错

47 #我们知道,再二维数组中的话,建立的是矩阵

48 #1 2 3

49 #4 0 0

50 #5 0 0

51 #就算我们不进行输入

52 #最后也会自动给你补上一个0

53 #但是元组毕竟不是数组

54 #说 人 话

55 #4

56 #5

57 #元组并不会给你补上这些0

58 #所以如果我们用上面那句代码来调用的话

59 #必然会报错的(其实我也是偶然发现的)

60

61 #和序列不一样

62 #元组可以使用函数的形式来创造

63 #说白了就是强制转换(就这啊,哎)

64

65 #如果我们这么写,那一定是错的

66 #因为这本质就一个强制转换

67 #e=tuple(5,9,2,5,2);

68

69

70 #e=tuple(5);

71 #可是我们这么写,也是会报错

72 #报错说int是不可迭代的

73 #就是语法上规定不可以

74

75 #注意,我们在看书的时候发现总是有[]的存在

76 #那一般不是表示要用[]而是告诉我们这是可以填的数据

77 #注意这里的区分一下

78 #e=tuple(5)错误

79 #但是e=tuple([5]);正确 (验证去96行)

80

81 e=tuple([1,5,6,8,9]);82

83 print(e);84 #但是我们知道列表是可以和元组做直接的转换的

85

86 #曲线方法来int转tuple

87 f=666;88 print(tuple([f]));89 f=list([f]);90 #f=[f];

91 tuple(f);92 print(f);93 #成功

94

95 print("/");96

97 #验证[]在这里的影响

98 g=666;99 print(type([g]));#list

100 print(type(g));#int

101 #现在就很明显了吧

102 #为什么tuple(666)不行但是tuple([666])可以

103 #原因就在于这里的[]其实吧他的类型转换成了list,而不是原来的int

104 #这样就可以迭代了

你可能感兴趣的:(python元组创建)